package cn.lanchengkeji.datafillingsystem.service;



import cn.lanchengkeji.datafillingsystem.common.MenuDemoEntity;
import cn.lanchengkeji.datafillingsystem.common.ResponseBean;
import cn.lanchengkeji.datafillingsystem.entity.Menu;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 菜单 服务类
 * </p>
 *
 * @author Yixu
 * @since 2018-11-29
 */
public interface IMenuService extends IService<Menu> {

    /**
     *  添加菜单
     * @param menu
     * @return
     * @throws Exception
     * @author yuhao
     * @version 2018-12-04 15:59
     */
    public ResponseBean insertMenu(Menu menu) throws Exception;

    /**
     * 修改菜单
     * @param menu
     * @return
     * @throws Exception
     * @author yuhao
     * @version 2018-12-04 17:18
     */
    public ResponseBean updateMenu(Menu menu) throws Exception;

    /**
     * 删除菜单
     * @param menu 根据id删除菜单
     * @return
     * @throws Exception
     * @author yuhao
     * @version 2018-12-05 10:15
     */
    public ResponseBean deleteMenu(Menu menu) throws Exception;

    /**
     * 查看单个菜单
     * @param menu
     * @return
     * @author yuhao
     * @version 2018-12-05 10:53
     */
    public Menu selectOneMenu(Menu menu);

    /**
     * 查看菜单集合
     * @return
     * @author yuhao
     * @version 2018-12-05 10:53
     */
    public List<MenuDemoEntity> selectAllMenu();

    /**
     * 根据角色id查询菜单
     * @param roleId
     * @return
     * @author yuhao 2018-12-07 15:56
     */
    public List<MenuDemoEntity> selectMenusByRoleId(Integer roleId);

    // 根据角色ids查询菜单
    public List<MenuDemoEntity> selectMenusByRoleIds(List<Integer> roleIds);

}
